package com.sdp.wx.db.wx_metering_utensil_inspect.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sdp.flow.db.entity.ActHiComment;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 *
 * </p>
 *
 * @author zsp
 * @since 2024-02-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("wx_metering_utensil_inspect")
public class WxMeteringUtensilInspect extends Model<WxMeteringUtensilInspect> {

    private static final long serialVersionUID=1L;

    /**
     * 内码
     */
    @TableId("key_id")
    private String keyId;

    /**
     * 鉴定计划名称
     */
    @TableField("inspect_name")
    private String inspectName;

    /**
     * 计划日期
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @TableField("inspect_time")
    private LocalDate inspectTime;

    /**
     * 完成日期
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @TableField("inspect_end_time")
    private LocalDate inspectEndTime;

    /**
     * 鉴定单位
     */
    @TableField("inspect_unit")
    private String inspectUnit;

    /**
     * 年度
     */
    @TableField("inspect_annual")
    private String inspectAnnual;

    /**
     * 鉴定费
     */
    @TableField("inspect_fee")
    private String inspectFee;

    /**
     * 测试费
     */
    @TableField("inspect_test_fee")
    private String inspectTestFee;

    /**
     * 维修费
     */
    @TableField("inspect_maintenance_fee")
    private String inspectMaintenanceFee;

    /**
     * 合计
     */
    @TableField("inspect_amount_to")
    private String inspectAmountTo;

    /**
     * 计量器具台账id
     */
    @TableField("utensil_id")
    private String utensilId;
    /**
     * 是否完结
     */
    @TableField("is_finish")
    private String isFinish;

    /**
     * 审批状态
     */
    @TableField("approval_state")
    private String approvalState;

    /**
     * 实例ID
     */
    @TableField("instance_id")
    private String instanceId;

    /**
     * 审批人列表
     */
    @TableField("approvers_list")
    private String approversList;
    /**
     * 申请人工号
     */
    @TableField("application_emp_no")
    private String applicationEmpNo;

    /**
     * 申请人姓名
     */
    @TableField("application_emp_name")
    private String applicationEmpName;

    /**
     /**
     * 流程模板ID
     */
    @TableField(exist=false)
    private String templateId;

    @TableField(exist=false)
    private String taskId;//任务ID

    @TableField(exist=false)
    private String handleUsers;

    @TableField(exist=false)
    private String isPass;

    @TableField(exist=false)
    private String approvalOpinion;

    @TableField(exist=false)
    private List<ActHiComment> approvalOpinions;//审批意见

    /**
     * 审批人
     */
    @TableField(exist=false)
    private String approver;

    /**
     * 审批环节
     */
    @TableField(exist=false)
    private String link;

    @Override
    protected Serializable pkVal() {
        return this.keyId;
    }

}
